/*++
Copyright (c) 1990-2000    Microsoft Corporation All Rights Reserved

Module Name:

    ntddmars.h

Abstract:

    This module contains the common declarations shared by driver
    and user applications.

Environment:

    user and kernel
Notes:


Revision History:


--*/

  
//
// Define an Interface Guid for the mars device class.
//

DEFINE_GUID (GUID_DEVINTERFACE_MARS, 
        0xf00896ba, 0x23a8, 0x41f1, 0x80, 0xed, 0xda, 0xd9, 0x81, 0x7a, 0xd7, 0x29);


//
// GUID definition are required to be outside of header inclusion pragma to avoid
// error during precompiled headers.
//

#ifndef __NTDDMARS_H
#define __NTDDMARS_H


#define FILE_DEVICE_MARS        FILE_DEVICE_CONTROLLER

#define IOCTL_MARS_GET_DRIVER_VERSION \
            CTL_CODE( FILE_DEVICE_MARS, 0x780, METHOD_BUFFERED, FILE_WRITE_ACCESS)

#define IOCTL_MARS_GET_FUNCTION_NUMBER \
            CTL_CODE( FILE_DEVICE_MARS, 0x781, METHOD_BUFFERED, FILE_WRITE_ACCESS)

#define IOCTL_MARS_GET_FUNCTION_FOCUS \
            CTL_CODE( FILE_DEVICE_MARS, 0x782, METHOD_BUFFERED, FILE_WRITE_ACCESS)

#define IOCTL_MARS_SET_FUNCTION_FOCUS \
            CTL_CODE( FILE_DEVICE_MARS, 0x783, METHOD_BUFFERED, FILE_WRITE_ACCESS)



#define IOCTL_MARS_GET_BUS_WIDTH \
            CTL_CODE( FILE_DEVICE_MARS, 0x784, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_MARS_SET_BUS_WIDTH \
            CTL_CODE( FILE_DEVICE_MARS, 0x785, METHOD_BUFFERED, FILE_WRITE_ACCESS)


#define IOCTL_MARS_GET_BUS_CLOCK \
            CTL_CODE( FILE_DEVICE_MARS, 0x786, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_MARS_SET_BUS_CLOCK \
            CTL_CODE( FILE_DEVICE_MARS, 0x787, METHOD_BUFFERED, FILE_WRITE_ACCESS)


#define IOCTL_MARS_GET_BLOCKLEN \
            CTL_CODE( FILE_DEVICE_MARS, 0x788, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_MARS_SET_BLOCKLEN \
            CTL_CODE( FILE_DEVICE_MARS, 0x789, METHOD_BUFFERED, FILE_WRITE_ACCESS)


#define IOCTL_MARS_GET_FN0_BLOCKLEN \
            CTL_CODE( FILE_DEVICE_MARS, 0x78a, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_MARS_SET_FN0_BLOCKLEN \
            CTL_CODE( FILE_DEVICE_MARS, 0x78b, METHOD_BUFFERED, FILE_WRITE_ACCESS)


#define IOCTL_MARS_GET_BUS_INTERFACE_CONTROL \
            CTL_CODE( FILE_DEVICE_MARS, 0x78c, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_MARS_SET_BUS_INTERFACE_CONTROL \
            CTL_CODE( FILE_DEVICE_MARS, 0x78d, METHOD_BUFFERED, FILE_WRITE_ACCESS)

#define IOCTL_MARS_GET_INT_ENABLE \
            CTL_CODE( FILE_DEVICE_MARS, 0x78e, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_MARS_SET_INT_ENABLE \
            CTL_CODE( FILE_DEVICE_MARS, 0x78f, METHOD_BUFFERED, FILE_WRITE_ACCESS)



#define IOCTL_MARS_READ_BYTE \
            CTL_CODE( FILE_DEVICE_MARS, 0x7b0, METHOD_BUFFERED, FILE_WRITE_ACCESS)

#define IOCTL_MARS_WRITE_BYTE \
            CTL_CODE( FILE_DEVICE_MARS, 0x7b1, METHOD_BUFFERED, FILE_WRITE_ACCESS)

#define IOCTL_MARS_SET_TRANSFER_MODE \
            CTL_CODE( FILE_DEVICE_MARS, 0x7b2, METHOD_BUFFERED, FILE_WRITE_ACCESS)

#define IOCTL_MARS_TOGGLE_MODE \
            CTL_CODE( FILE_DEVICE_MARS, 0x7b3, METHOD_BUFFERED, FILE_WRITE_ACCESS)

#define IOCTL_MARS_TOGGLE_NOISY \
            CTL_CODE( FILE_DEVICE_MARS, 0x7b4, METHOD_BUFFERED, FILE_WRITE_ACCESS)


#endif



